2006/11/06

Navito:プロトコルの提案

ここギコ!さんでも紹介して頂きましたが、「navito:」というプロトコルを提案しようと思っています。

Mailto:XXXというハイパーリンクをクリックすれば、メーラーが開きます。またCallto:XXXというハイパーリンクをクリックすればMSNメッセンジャーやSkypeが起動します。
Mailtoの場合はメールアドレスやタイトルやCC、Calltoの場合は電話番号やSkypeIDなどを渡しますが、同様に「位置情報」をアプリケーションに渡すプロトコルがあってもいいんじゃないの?というのがNavitoです。
PCにはレジストリに登録してあげれば、Navitoプロトコルが有効になります。
Callto、Mailとと並べてレジストリのエクスポートを書くと分かりやすいと思います。

Calltoプロトコルはこう登録されています。(私のPCの場合。Skypeと関連つけられてます)

[HKEY_CLASSES_ROOT\callto]
@="Skype Protocol Handler""EditFlags"=hex:02,00,00,00"URL Protocol"=""
[HKEY_CLASSES_ROOT\callto\DefaultIcon]
@="\"C:\\Program Files\\Skype\\Phone\\Skype.exe\",-1"
[HKEY_CLASSES_ROOT\callto\shell][HKEY_CLASSES_ROOT\callto\shell\open][HKEY_CLASSES_ROOT\callto\shell\open\command]
@="\"C:\\Program Files\\Skype\\Phone\\Skype.exe\" \"/callto:%1\""


Mailtoプロトコルはこう登録されています。(私のPCの場合。Outlookと関連つけられてます)
[HKEY_CLASSES_ROOT\mailto]"EditFlags"=dword:00000002"URL
Protocol"=""@="URL:MailTo Protocol"
[HKEY_CLASSES_ROOT\mailto\DefaultIcon]
@="\"C:\\PROGRA~1\\MICROS~2\\OFFICE11\\OUTLOOK.EXE\",7"
[HKEY_CLASSES_ROOT\mailto\shell][HKEY_CLASSES_ROOT\mailto\shell\open][HKEY_CLASSES_ROOT\mailto\shell\open\command]@="\"C:\\PROGRA~1\\MICROS~2\\OFFICE11\\OUTLOOK.EXE\"
-c IPM.Note /m \"%1\""



そして、Navitoプロトコル。現在Navitoを扱うアプリケーションはもちろん存在しないので、『NavitoGateway』というアプリを作って、それに関連付けています。

[HKEY_CLASSES_ROOT\navito]
@=URL:NaviTo Protocol"
BrowserFlags"=dword:00000008"
EditFlags"=dword:00000002"
URL Protocol"=""
[HKEY_CLASSES_ROOT\navito\DefaultIcon]
@="C:\\Program Files\\NavitoGateway\\NavitoGateway.exe"
[HKEY_CLASSES_ROOT\navito\shell]
@=""
[HKEY_CLASSES_ROOT\navito\shell\open]
@=""
[HKEY_CLASSES_ROOT\navito\shell\open\command]
@="C:\\Program Files\\NavitoGateway\\NavitoGateway.exe %1"



ちなみにNavitoGatewayとは現在作成中のアプリですが、Navitoで受け取った位置情報を任意のフォーマットの緯度経度に整形して、各社MapサイトのURLに埋め込み、サイトを表示させるアプリです。
まだVB6で作った試作品しかありませんが、オプションリストでNavitoで開く地図サイトを自由に切り替えることができます。サイト以外ではGoogleEarthやWildWindも開きました。よかったら試してみてください。なお、余計なコンポーネントをインストールする必要のないよう、Exeファイル一つで完結するNavitoGatewayをただいま製作中です。

NavitoGateway(VBで作ったプロトタイプ。たぶんこれ以外にVB6ランタイムとMSXML6が必要)

ちなみにNavitoGatewayが扱えるのは、まだ以下の3つのみです。
Navito:ロカポ
Navito:緯度,経度
Navito:緯度;経度

もともと、ロカポには自動検出できるパターンがあるので、XXX@XXXとあればメルアド!というように、AAN.AAN.AAN.AANとあれば位置情報!という風にロカポを使ってもらいたくて、そのためにはMailtoならぬMaptoかNavitoみたいなものが必要だな、と思ったのがきっかけなのですが、考え始めるとNavitoは別にロカポじゃなくても全然かまわないわけで、
Navito+ロカポ
Navito+緯度経度
Navito+住所
Navito+出発地+目的地
Navito+経路
Navito+KMLファイルのURI
など、受け取る側のGISアプリによって好きな「位置情報」を送れるわけです。
そうなると、Navitoにはもっと大きな可能性があるように思えてきました。

現時点での地図サイトのURLは、業者情報と位置情報が不可分になっており、あえて言えばこんな感じとおもいませんか?

MicrosoftIE/http://www.locapoint.com
MozillaFirefox/http://www.locapoint.com
とか
OutlookExpress/info@locapoint.com
Thunderbird/info@locapoint.com

Navitoは地図サイトの情報と純粋な位置情報を分離する、いいきっかけになればと思ってます。

0 件のコメント: